import '../item_style.dart';
import '../text_config.dart';
import '../tooltip.dart';
import 'series.dart';

import 'package:json_annotation/json_annotation.dart';

part 'custom_series.g.dart';

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class CustomApi {
  var value;
  var coord;

  var size;
  var style;
  var styleEmphasis;
  var visual;
  var barLayout;
  var currentSeriesIndices;

  var font;
  var getWidth;
  var getHeight;

  var getZr;

  var getDevicePixelRatio;

  CustomApi(
      {this.value,
      this.coord,
      this.size,
      this.style,
      this.styleEmphasis,
      this.visual,
      this.barLayout,
      this.currentSeriesIndices,
      this.font,
      this.getWidth,
      this.getHeight,
      this.getZr,
      this.getDevicePixelRatio});

  factory CustomApi.fromJson(Map<String, dynamic> json) =>
      _$CustomApiFromJson(json);

  Map<String, dynamic> toJson() => _$CustomApiToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class Arguments {
  var params;
  CustomApi? api;

  Arguments({this.params, this.api});

  factory Arguments.fromJson(Map<String, dynamic> json) =>
      _$ArgumentsFromJson(json);

  Map<String, dynamic> toJson() => _$ArgumentsToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnShape {
  var pathData;
  var d;
  var layout;
  var x;
  var y;
  var width;
  var height;
  var transition;

  ReturnShape(
      {this.pathData,
      this.d,
      this.layout,
      this.x,
      this.y,
      this.width,
      this.height,
      this.transition});

  factory ReturnShape.fromJson(Map<String, dynamic> json) =>
      _$ReturnShapeFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnShapeToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnStyle {
  var fill;
  var stroke;
  var lineWidth;
  var shadowBlur;
  var shadowOffsetX;
  var shadowOffsetY;
  var shadowColor;
  var transition;

  ReturnStyle(
      {this.fill,
      this.stroke,
      this.lineWidth,
      this.shadowBlur,
      this.shadowOffsetX,
      this.shadowOffsetY,
      this.shadowColor,
      this.transition});

  factory ReturnStyle.fromJson(Map<String, dynamic> json) =>
      _$ReturnStyleFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnStyleToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnEmphasis {
  var style;

  ReturnEmphasis({this.style});

  factory ReturnEmphasis.fromJson(Map<String, dynamic> json) =>
      _$ReturnEmphasisFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnEmphasisToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnExtra {
  var transition;

  ReturnExtra({this.transition});

  factory ReturnExtra.fromJson(Map<String, dynamic> json) =>
      _$ReturnExtraFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnExtraToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnGroup {
  var type = 'group';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;

  TextConfig? textConfig;

  var during;

  ReturnExtra? extra;

  var width;

  var height;

  var diffChildrenByName;

  var children;

  ReturnGroup(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.width,
      this.height,
      this.diffChildrenByName,
      this.children});

  factory ReturnGroup.fromJson(Map<String, dynamic> json) =>
      _$ReturnGroupFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnGroupToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnPath {
  var type = 'path';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;

  var silent;
  var invisible;
  var ignore;
  var textContent;

  TextConfig? textConfig;

  var during;

  ReturnExtra? extra;

  ReturnShape? shape;

  ReturnStyle? style;

  var focus;
  var blurScope;

  ReturnEmphasis? emphasis;

  ReturnEmphasis? blur;

  ReturnEmphasis? select;

  ReturnPath(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnPath.fromJson(Map<String, dynamic> json) =>
      _$ReturnPathFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnPathToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnImage {
  var type = ' image';

  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnImage(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnImage.fromJson(Map<String, dynamic> json) =>
      _$ReturnImageFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnImageToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnText {
  var type = 'text';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnText(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnText.fromJson(Map<String, dynamic> json) =>
      _$ReturnTextFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnTextToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnRect {
  var type = 'rect';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;

  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnRect(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnRect.fromJson(Map<String, dynamic> json) =>
      _$ReturnRectFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnRectToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnCircle {
  var type = 'circle';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;

  var silent;
  var invisible;
  var ignore;
  var textContent;

  TextConfig? textConfig;
  var during;
  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnCircle(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnCircle.fromJson(Map<String, dynamic> json) =>
      _$ReturnCircleFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnCircleToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnRing {
  var type = 'ring';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;

  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnRing(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnRing.fromJson(Map<String, dynamic> json) =>
      _$ReturnRingFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnRingToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnSector {
  var type = 'sector';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;

  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnSector(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnSector.fromJson(Map<String, dynamic> json) =>
      _$ReturnSectorFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnSectorToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnArc {
  var type = 'arc';
  var id;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;

  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnArc(
      {this.id,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnArc.fromJson(Map<String, dynamic> json) =>
      _$ReturnArcFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnArcToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnPolygon {
  var type = 'polygon';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;
  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnPolygon(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnPolygon.fromJson(Map<String, dynamic> json) =>
      _$ReturnPolygonFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnPolygonToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnPolyline {
  var type = 'polyline';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;
  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnPolyline(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnPolyline.fromJson(Map<String, dynamic> json) =>
      _$ReturnPolylineFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnPolylineToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnLine {
  var type = 'line';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;
  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnLine(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnLine.fromJson(Map<String, dynamic> json) =>
      _$ReturnLineFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnLineToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class ReturnBezierCurve {
  var type = 'bezierCurve';
  var id;
  var x;
  var y;
  var rotation;
  var scaleX;
  var scaleY;
  var originX;
  var originY;
  var transition;
  var morph;
  var z2;
  var name;
  var info;
  var silent;
  var invisible;
  var ignore;
  var textContent;
  TextConfig? textConfig;
  var during;
  ReturnExtra? extra;
  ReturnShape? shape;
  ReturnStyle? style;
  var focus;
  var blurScope;
  ReturnEmphasis? emphasis;
  ReturnEmphasis? blur;
  ReturnEmphasis? select;

  ReturnBezierCurve(
      {this.id,
      this.x,
      this.y,
      this.rotation,
      this.scaleX,
      this.scaleY,
      this.originX,
      this.originY,
      this.transition,
      this.morph,
      this.z2,
      this.name,
      this.info,
      this.silent,
      this.invisible,
      this.ignore,
      this.textContent,
      this.textConfig,
      this.during,
      this.extra,
      this.shape,
      this.style,
      this.focus,
      this.blurScope,
      this.emphasis,
      this.blur,
      this.select});

  factory ReturnBezierCurve.fromJson(Map<String, dynamic> json) =>
      _$ReturnBezierCurveFromJson(json);

  Map<String, dynamic> toJson() => _$ReturnBezierCurveToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class RenderItem {
  Arguments? arguments;
  @JsonKey(name: "return")
  var $return;
  @JsonKey(name: "return_group")
  ReturnGroup? returnGroup;
  @JsonKey(name: "return_path")
  ReturnPath? returnPath;
  @JsonKey(name: "return_image")
  ReturnImage? returnImage;
  @JsonKey(name: "return_text")
  ReturnText? returnText;
  @JsonKey(name: "return_rect")
  ReturnRect? returnRect;
  @JsonKey(name: "return_circle")
  ReturnCircle? returnCircle;
  @JsonKey(name: "return_ring")
  ReturnRing? returnRing;
  @JsonKey(name: "return_sector")
  ReturnSector? returnSector;
  @JsonKey(name: "return_arc")
  ReturnArc? returnArc;
  @JsonKey(name: "return_polygon")
  ReturnPolygon? returnPolygon;
  @JsonKey(name: "return_polyline")
  ReturnPolyline? returnPolyline;
  @JsonKey(name: "return_line")
  ReturnLine? returnLine;
  @JsonKey(name: "return_bezierCurve")
  ReturnBezierCurve? returnBezierCurve;

  RenderItem(
      {this.arguments,
      this.$return,
      this.returnGroup,
      this.returnPath,
      this.returnImage,
      this.returnText,
      this.returnRect,
      this.returnCircle,
      this.returnRing,
      this.returnSector,
      this.returnArc,
      this.returnPolygon,
      this.returnPolyline,
      this.returnLine,
      this.returnBezierCurve});

  factory RenderItem.fromJson(Map<String, dynamic> json) =>
      _$RenderItemFromJson(json);

  Map<String, dynamic> toJson() => _$RenderItemToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class CustomEmphasisBlurSelect {
  ItemStyle? itemStyle;

  CustomEmphasisBlurSelect({this.itemStyle});

  factory CustomEmphasisBlurSelect.fromJson(Map<String, dynamic> json) =>
      _$CustomEmphasisBlurSelectFromJson(json);

  Map<String, dynamic> toJson() => _$CustomEmphasisBlurSelectToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class CustomData {
  var name;

  var value;

  ItemStyle? itemStyle;
  CustomEmphasisBlurSelect? emphasis;
  Tooltip? tooltip;

  CustomData(
      {this.name, this.value, this.itemStyle, this.emphasis, this.tooltip});

  factory CustomData.fromJson(Map<String, dynamic> json) =>
      _$CustomDataFromJson(json);

  Map<String, dynamic> toJson() => _$CustomDataToJson(this);
}

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class CustomSeries extends Series {
  var type = 'custom';
  var id;
  var name;
  var legendHoverLink;
  var coordinateSystem;
  var xAxisIndex;
  var yAxisIndex;
  var polarIndex;
  var geoIndex;
  var calendarIndex;

  RenderItem? renderItem;

  ItemStyle? itemStyle;
  LabelLine? labelLine;
  LabelLayout? labelLayout;
  var selectedMode;

  var dimensions;
  var encode;

  var seriesLayoutBy;
  var datasetIndex;

  List<CustomData>? data;

  var clip;
  var zlevel;
  var z;
  var silent;
  var animation;
  var animationThreshold;
  var animationDuration;
  var animationEasing;
  var animationDelay;
  var animationDurationUpdate;
  var animationEasingUpdate;
  var animationDelayUpdate;
  Tooltip? tooltip;

  CustomSeries(
      {this.id,
      this.name,
      this.legendHoverLink,
      this.coordinateSystem,
      this.xAxisIndex,
      this.yAxisIndex,
      this.polarIndex,
      this.geoIndex,
      this.calendarIndex,
      this.renderItem,
      this.itemStyle,
      this.labelLine,
      this.labelLayout,
      this.selectedMode,
      this.dimensions,
      this.encode,
      this.seriesLayoutBy,
      this.datasetIndex,
      this.data,
      this.clip,
      this.zlevel,
      this.z,
      this.silent,
      this.animation,
      this.animationThreshold,
      this.animationDuration,
      this.animationEasing,
      this.animationDelay,
      this.animationDurationUpdate,
      this.animationEasingUpdate,
      this.animationDelayUpdate,
      this.tooltip});

  factory CustomSeries.fromJson(Map<String, dynamic> json) =>
      _$CustomSeriesFromJson(json);

  Map<String, dynamic> toJson() => _$CustomSeriesToJson(this);
}
